Where to go from here?

There are many ways to improve the compiler for this version of our source language.

Below is an idea for improvements, in addition to suggestions from the previous assignment. If you have some time and are interested, consider implementing it. You can also suggest your own!

Performance

Instead of allocating every variable on the stack, we could allocate the first \(N\) variables in registers. Doing so would yield faster memory access and, potentially, fewer instructions. How many registers would you choose to use, to try to reduce the number of stack operations the program needs? How would you go about assigning locations to variables?